import useDictionary from "@/hooks/system/useDictionary";
import { Tag } from "antd";
import type React from "react";

interface DictionaryTagProps {
	dictCode: string;
	value: string|number;
}

const TableDictTag: React.FC<DictionaryTagProps> = ({ dictCode, value }) => {
	const dictionaryData = useDictionary(dictCode);
  
	// 如果字典数据为空，返回一个加载中的 Tag
	if (dictionaryData.length === 0) {
		return <Tag>加载中...</Tag>;
	}

	// 强制转换 value 和字典项中的 value 为字符串类型
  const stringValue = String(value);

  // 查找匹配的字典项
  const dictionaryItem = dictionaryData.find((item) => String(item.value) === stringValue);


	// 如果找到了匹配的字典项，显示 label，否则显示原始 value
	const label = dictionaryItem ? dictionaryItem.label : value;
	const color = dictionaryItem ? dictionaryItem.color : "default"; // 如果有 color，则使用，否则默认为 "default"

	return <Tag color={color}>{label}</Tag>;
};

export default TableDictTag;
